package com.cyj.dream.middleware.hystrix.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Description: 熔断自定义注解--自定义注解中需要配置方法的超时时长和拦截后的返回信息。
 * @BelongsProject: DreamChardonnayCloud
 * @BelongsPackage: com.cyj.dream.middleware.hystrix.annotation
 * @Author: ChenYongJia
 * @CreateTime: 2021-09-15 20:15
 * @Email: chen87647213@163.com
 * @Version: 1.0
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface DoHystrix {

    /**
     * 失败结果 JSON 熔断保护下返回的结果
     * @return
     */
    String returnJson() default "";

    /**
     * 超时熔断 方法的调用安全范围时长，一般指的是 TP99、TP999 的调用稳定值
     * @return
     */
    int timeoutValue() default 0;

}
